﻿namespace RemoteTranslation.AssistentApplication.Services
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    public class ServerInformation
    {
        #region Fields

        private string _hostAddress;
        private int _tcpPort;
        private int _udpPort;
        private List<ChannelInformation> _inputAudioChannels = new List<ChannelInformation>();
        private List<ChannelInformation> _outputAudioChannels = new List<ChannelInformation>();
        private ChannelInformation _inputVideoChannel = null;

        private bool _isConnected;

        #endregion

        public virtual string HostAddress
        {
            get
            {
                return _hostAddress;
            }
            set
            {
                _hostAddress = value;
            }
        }

        public virtual int TcpPort
        {
            get
            {
                return _tcpPort;
            }
            set
            {
                _tcpPort = value;
            }
        }

        public virtual int UdpPort
        {
            get { return _udpPort; }
            set
            {
                _udpPort = value;
            }
        }

        public virtual List<ChannelInformation> InputAudioChannels
        {
            get
            {
                return _inputAudioChannels;
            }
            set
            {
                if (value == null)
                    value = new List<ChannelInformation>();
                _inputAudioChannels = value;
            }
        }

        public virtual List<ChannelInformation> OutputAudioChannels
        {
            get
            {
                return _outputAudioChannels;
            }
            set
            {
                if (value == null)
                    value = new List<ChannelInformation>();
                _outputAudioChannels = value;
            }
        }

        public virtual ChannelInformation InputVideoChannel
        {
            get
            {
                return _inputVideoChannel;
            }
            set
            {
                _inputVideoChannel = value;
            }
        }

        public virtual bool IsConnected
        {
            get
            {
                return _isConnected;
            }
            set
            {
                _isConnected = value;
            }
        }
    }
}

